{
 "cells": [
  {
   "cell_type": "raw",
   "metadata": {
    "raw_mimetype": "text/restructuredtext",
    "tags": []
   },
   "source": [
    ".. _nb_version:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "tags": []
   },
   "source": [
    "# Versions"
   ]
  },
  {
   "cell_type": "raw",
   "metadata": {
    "raw_mimetype": "text/restructuredtext",
    "tags": []
   },
   "source": [
    ".. tip::\n",
    "    To access deprecated documentations, please use the following credentials:\n",
    "\n",
    "    Username: pymoo, Password: pymoo\n",
    "\n",
    "    (The access is protected to avoid search engines directing to deprecated documentations)"
   ]
  },
  {
   "cell_type": "raw",
   "metadata": {
    "raw_mimetype": "text/restructuredtext",
    "tags": []
   },
   "source": [
    ".. _version_0_6_1:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "tags": []
   },
   "source": [
    "#### 0.6.1 [[Documentation](http://archive.pymoo.org/0.6.1/)]\n",
    "\n",
    "- Minor changes and bigfixes that have been reported\n",
    "- Added KGB  for dynamic optimization"
   ]
  },
  {
   "cell_type": "raw",
   "metadata": {
    "raw_mimetype": "text/restructuredtext",
    "tags": []
   },
   "source": [
    ".. _version_0_6_0:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "tags": []
   },
   "source": [
    "#### 0.6.0 [[Documentation](http://archive.pymoo.org/0.6.0/)]\n",
    "\n",
    "- Breaking changes: Factory methods have been deprecated or deactivated (because of maintenance overhead and hiding of constructor parameters)\n",
    "- New Problems: DF (for dynamic optimization)\n",
    "- New Algorithms: G3-PCX, SMS-EMOA, RVEA, AGE-MOEA2, DNSGA2\n",
    "- Mixed Variable Optimization: Improved support for mixed variable optimization.\n",
    "- Hyperparameter Tuning: Basic interface for hyperparameter tuning\n",
    "- Constrained Handling: Improved tutorial explaining how constrained can be handled within different kinds of algorithms\n",
    "- New Termination Criteria: The implementation now requires returning a floating point number. It is initialized by zero, and a one indicates the algorithm has terminated. This also allows activating a progress bar.\n",
    "- New Parallelization: The interface has been changed and a class for running a parallel evaluation has been defined.\n"
   ]
  },
  {
   "cell_type": "raw",
   "metadata": {
    "raw_mimetype": "text/restructuredtext",
    "tags": []
   },
   "source": [
    ".. _version_0_5_0:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "tags": []
   },
   "source": [
    "#### 0.5.0 [[Documentation](http://archive.pymoo.org/0.5.0/)]\n",
    "\n",
    "- New Theme: As you might have noticed, *pymoo* got a new HTML theme, responsive, and has a better navigation bar.\n",
    "- New Project Structure: This includes some breaking changes. Now, the algorithms are grouped into different categories. For instance, `NSGA2` is now available at `pymoo.algorithms.moo.NSGA2`. \n",
    "- New Algorithms: RVEA, AGEMOEA, ES, SRES, ISRES\n",
    "- New Problem Implementation: The new version distinguishes between a `Problem` and an `ElementwiseProblem`. This has the advantage of handling the two different implementations on an object level.\n",
    "- New Interface: Most algorithms follow the `infill` and `advance` schema, which makes it very simple to write a for loop-based approach and customizing the algorithm's default behavior (for instance, a local search)\n",
    "- New Getting Started Guide consisting of five parts explaining better how *pymoo* can be used. The different alternatives of defining a problem and running an algorithm have been outsourced to the corresponding tutorial pages.\n"
   ]
  },
  {
   "cell_type": "raw",
   "metadata": {
    "raw_mimetype": "text/restructuredtext",
    "tags": []
   },
   "source": [
    ".. _version_0_4_2:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 0.4.2 [[Documentation](http://archive.pymoo.org/0.4.2/)]\n",
    "\n",
    "- Improved Getting Started Guide with a new interface of providing functions instead of implementing the problem class\n",
    "- New Algorithm: PSO for single-objective problems\n",
    "- New Loop-wise Execution: The algorithm object can be used directly by calling its next method\n",
    "- New Tutorial: An implementation of checkpoints to resume runs\n",
    "- New Test Problems Suites (Constrained): DAS-CMOP and MW (contributed by cyrilpic)\n",
    "- New Operators for Permutations: OrderCrossover and InversionMutation and usage to optimize routes for the TSP and Flowshop problem (contributed by Peng-YM )\n",
    "- New Crossover: Parent Centric Crossover (PCX) which is known to work well on problems where some variables have dependencies on each other\n",
    "- Bugfix: Remove evaluation calls in Problem class during print"
   ]
  },
  {
   "cell_type": "raw",
   "metadata": {
    "raw_mimetype": "text/restructuredtext",
    "tags": []
   },
   "source": [
    ".. _version_0_4_1:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 0.4.1 [[Documentation](http://archive.pymoo.org/0.4.1/)]\n",
    "\n",
    "- New Feature: Riesz s-Energy Method to generate a well-spaced point-set on the unit simplex (reference directions) of arbitrary size.\n",
    "- New Algorithm: An implementation of Hooke and Jeeves Pattern Search (well-known single-objective algorithm)\n",
    "- New Documentation: We have re-arranged the documentation and explain now the minimize interface in more detail.\n",
    "- New Feature: The problem can be parallelized by directly providing a starmapping callable (Contribution by Josh Karpel).\n",
    "- Bugfix: MultiLayerReferenceDirectionFactory did not work because the scaling was disabled.\n",
    "\n"
   ]
  },
  {
   "cell_type": "raw",
   "metadata": {
    "raw_mimetype": "text/restructuredtext",
    "tags": []
   },
   "source": [
    ".. _version_0_4_0:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 0.4.0 [[Documentation](http://archive.pymoo.org/0.4.0/)]\n",
    "\n",
    "  - New Algorithm: CMA-ES (Implementation published by the Author)\n",
    "  - New Algorithm: Biased-Random Key Genetic Algorithm (BRKGA)\n",
    "  - New Test Problems: WFG\n",
    "  - New Termination Criterion: Stop an Algorithm based on Time\n",
    "  - New Termination Criterion: Objective Space Tolerance for Multi-objective Problems\n",
    "  - New Display: Easily modify the Printout in each Generation\n",
    "  - New Callback: Based on a class now to allow to store data in the object.\n",
    "  - New Visualization: Videos can be recorded to follow the algorithm's progress.\n",
    "  - Bugfix: NDScatter Plot\n",
    "  - Bugfix: Hypervolume Calculations (Vendor Library)\n",
    "\n"
   ]
  },
  {
   "cell_type": "raw",
   "metadata": {
    "raw_mimetype": "text/restructuredtext",
    "tags": []
   },
   "source": [
    ".. _version_0_3_2:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 0.3.2 [[Documentation](http://archive.pymoo.org/0.3.2/)]\n",
    "\n",
    "  - New Algorithm: Nelder Mead with box constraint handling in the design space\n",
    "  - New Performance indicator: Karush Kuhn Tucker Proximity Measure (KKTPM)\n",
    "  - Added Tutorial: Equality constraint handling through customized repair\n",
    "  - Added Tutorial: Subset selection through GAs\n",
    "  - Added Tutorial: How to use custom variables \n",
    "  - Bugfix: No pf given for problem, no feasible solutions found\n"
   ]
  },
  {
   "cell_type": "raw",
   "metadata": {
    "raw_mimetype": "text/restructuredtext",
    "tags": []
   },
   "source": [
    ".. _version_0_3_1:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 0.3.1 [[Documentation](http://archive.pymoo.org/0.3.1/)]\n",
    "\n",
    "  - Merging pymop into pymoo - all test problems are included\n",
    "  - Improved Getting Started Guide\n",
    "  - Added Visualization\n",
    "  - Added Decision Making\n",
    "  - Added GD+ and IGD+\n",
    "  - New Termination Criteria \"x_tol\" and \"f_tol\"\n",
    "  - Added Mixed Variable Operators and Tutorial\n",
    "  - Refactored Float to Integer Operators\n",
    "  - Fixed NSGA-III Normalization Variable Swap\n",
    "  - Fixed casting issue with latest NumPy version for integer operators\n",
    "  - Removed the dependency of Cython for installation (.c files are delivered now)\n",
    "\n"
   ]
  },
  {
   "cell_type": "raw",
   "metadata": {
    "raw_mimetype": "text/restructuredtext",
    "tags": []
   },
   "source": [
    ".. _version_0_3_0:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 0.3.0\n",
    "\n",
    "  - New documentation and global interface\n",
    "  - New crossovers: Point, HUX\n",
    "  - Improved version of DE\n",
    "  - New Factory Methods"
   ]
  },
  {
   "cell_type": "raw",
   "metadata": {
    "raw_mimetype": "text/restructuredtext",
    "tags": []
   },
   "source": [
    ".. _version_0_2_2:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 0.2.2\n",
    "\n",
    "  - Several improvements in the code structure\n",
    "  - Make the cython support optional\n",
    "  - Modifications for pymop 0.2.3"
   ]
  },
  {
   "cell_type": "raw",
   "metadata": {
    "raw_mimetype": "text/restructuredtext",
    "tags": []
   },
   "source": [
    ".. _version_0_2_1:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 0.2.1\n",
    "\n",
    "  - First official release providing NSGA2, NSGA3 and RNSGA3"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
